package com.basketball.gym.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.basketball.gym.pojo.Admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.basketball.gym.pojo.ResponseData;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 赵肖云
 * @since 2021-03-23
 */
public interface AdminService extends IService<Admin> {

    /**
     * 管理员登录
     */
    ResponseData<Admin> login(Admin activeAdmin);

    /**
     * 添加管理员
     */
    ResponseData<Admin> addAdmin(Admin admin);

    /**
     * 更新token
     */
    ResponseData<Object> refreshToken(@NotNull(message = "refreshToken不能为空") String refreshToken);

    /**
     * 退出登录
     */
    ResponseData<Object> logout(Admin admin);

    /**
     * 查询个人信息
     */
    ResponseData<Admin> getAdmin(Admin admin);

    /**
     * 更新个人信息
     */
    ResponseData<Admin> updateAdmin(Admin admin, Admin activeAdmin);

    /**
     * 查询管理员列表
     */
    ResponseData<IPage<Admin>> getAdmins(Admin admin);

    /**
     * 修改下属管理员信息
     */
    ResponseData<Object> updateCommonAdmin(Admin admin);

    /**
     * 删除管理员
     */
    ResponseData<Object> deleteAdmin(Integer id);
}
